package demo4.controller;

import demo4.mapper.IUserMapper;
import demo4.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Scanner;

/**
 *
 * 今日练习要求:
 * 1:将demo1-demo4课上练习完成一次
 * 2:尝试仿照注册功能，实现用户登录
 *
 *
 *
 *
 *
 *
 * Controller 控制器
 * 这个层级的类负责和用户打交道，并将请求将来交给业务层处理，并结合处理结果
 * 反馈给用户
 */
@Component
public class UserController {
    @Autowired
    private IUserMapper userMapper;

    public void start(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入编号:");
        System.out.println("1:用户注册");
        System.out.println("2:用户登录");
        System.out.println("3:用户列表");
        int num = scanner.nextInt();
        switch (num){
            case 1:
                userReg();
                break;
            case 2:
                userLogin();
                break;
            case 3:
                userList();
                break;
            case 4:
                userUpdatePWD();
                break;
            default:
                System.out.println("输入错误");
        }
    }
    //处理用户注册
    private void userReg(){
        System.out.println("欢迎注册");
        User user = new User();
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        user.setUsername(scanner.nextLine());
        System.out.println("请输入密码:");
        user.setPassword(scanner.nextLine());
        System.out.println("请输入昵称:");
        user.setNickname(scanner.nextLine());
        System.out.println("请输入年龄:");
        user.setAge(scanner.nextInt());
        System.out.println(user);
        //获取信息后进行验证(有没有空这个，有没有非法字符)，用户名是否重复

        if(userMapper.selectByUsername(user.getUsername())==null){
            //验证通过，将该用户插入到数据库中
            int result = userMapper.insert(user);
            System.out.println(result>0?"注册成功":"注册失败");
        }else{
            System.out.println("该用户【"+user.getUsername()+"】已存在");
        }


    }

    //处理用户登录
    private void userLogin(){
        System.out.println("欢迎登录");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String username = scanner.nextLine();
        System.out.println("请输入密码:");
        String password = scanner.nextLine();
        //验证输入信息(有没有空着的，输入内容是否合法)

        User user = userMapper.selectByUsername(username);
        if(user!=null){//用户名存在
            if(user.getPassword().equals(password)){
                //密码正确，登录成功
                System.out.println("登录成功，欢迎【"+user.getNickname()+"】回来!");
            }else{
                System.out.println("登录失败，密码错误");
            }
        }else{
            System.out.println("用户【"+username+"】不存在");
        }
    }

    //列出所有用户
    private void userList(){
        System.out.println("展示用户列表");
    }
    //处理修改用户信息
    private void userUpdatePWD(){
        /*
        1:获取用户输入的id
        2:根据id查询用户
        3:验证用户输入的密码是否正确
        4:修改用户密码
         */

    }
}











